package com.vanke.devops.domain.manager.docker.extend.command;

import com.github.dockerjava.api.command.DockerCmdSyncExec;
import com.github.dockerjava.api.command.SyncDockerCmd;
import com.vanke.devops.domain.manager.docker.extend.enums.ServiceModel;
import com.vanke.devops.domain.manager.docker.extend.model.Service;

import java.util.List;
import java.util.Map;

/**
 * @author 陈景阳
 * @since 2018/6/7
 */
public interface ListServicesCmd extends SyncDockerCmd<List<Service>> {

    Map<String, List<String>> getFilters();

    ListServicesCmd withId(String id);

    ListServicesCmd withLabel(String label);

    ListServicesCmd withModel(ServiceModel model);

    ListServicesCmd withName(String name);

    interface Exec extends DockerCmdSyncExec<ListServicesCmd, List<Service>> {
    }
}
